import { Loading } from 'element-ui'

// 获取上一个月/下一页月今天
export function getXmonthToday(type) {
  // type 0 是当天 -1 是上个月   1是下个月
  var now = new Date(); // 可以传值调式 now = new Date(2019,2,30); 今天是3月30号
  var year = now.getFullYear(); //getYear()+1900=getFullYear()
  var month = now.getMonth() + 1; //0-11表示1-12月
  var day = now.getDate(); // 当天日期
  if (parseInt(month) < 10) {
    month = "0" + month;
  }
  if (parseInt(day) < 10) {
    day = "0" + day;
  }
  now = year + '-' + month + '-' + day; // 如果取当月日期可直接 return 返回

  var preMonth = parseInt(month) - 1;
  preMonth = preMonth < 10 ? '0' + preMonth : preMonth; // 获取上个月的值
  var nextMonth = parseInt(month) + 1;
  nextMonth = nextMonth < 10 ? '0' + nextMonth : nextMonth; // 获取下个月个月的值

  if (parseInt(month) == 1 && type == -1) { //如果是1月份，要上个月 ，则取上一年的12月份
    return (parseInt(year) - 1) + '-12-' + day;
  } else if (parseInt(month) == 12 && type == 1) { // 如果是12月，要下个月，取下一年的1月
    return (parseInt(year) + 1) + '-01-' + day;
  }

  var preSize = new Date(year, parseInt(month) - 1, 0).getDate(); //上月总天数
  var nextSize = new Date(year, parseInt(month) + 1, 0).getDate(); //下月总天数
  console.log(preSize, nextSize)
  if (preSize < parseInt(day) && type == -1) { // 取上个月，如果上个月总天数小于本月今天，取上个月最后一天    
    return year + '-' + preMonth + '-' + preSize;
  } else if (nextSize < parseInt(day) && type == 1) { // 如果下个月总天数小于本月今天，取下个月最后一天  
    return year + '-' + nextMonth + '-' + nextSize;
  }

  if (type == -1) {
    return year + '-' + preMonth + '-' + day;
  } else if (type == 1) {
    return year + '-' + nextMonth + '-' + day;
  } else if (type == 0) {
    return now;
  }
}

export function getToday () {
    var now = new Date(); // 可以传值调式 now = new Date(2019,2,30); 今天是3月30号
    var year = now.getFullYear(); //getYear()+1900=getFullYear()
    var month = now.getMonth() + 1; //0-11表示1-12月
    var day = now.getDate(); // 当天日期
    if (parseInt(month) < 10) {
      month = "0" + month;
    }
    if (parseInt(day) < 10) {
      day = "0" + day;
    }
    now = year + '-' + month + '-' + day; // 如果取当月日期可直接 return 返回
    return now
}

// 下载 excel
export function downloadFilesExcel (api, params) {
  let request = api
  let loading = Loading.service({ fullscreen: true, text: '导出中...' })
  request(params)
    .then(res => {
      var blob = new Blob([res.data], {
        type: 'application/vnd.ms-excel;charset=utf-8'
      })
      var downloadElement = document.createElement('a')
      var href = window.URL.createObjectURL(blob) //创建下载的链接
      downloadElement.href = href
      downloadElement.download =
        decodeURI(
          res.headers['content-disposition'].split('filename=')[1]
        ) || '' //下载后文件名
      document.body.appendChild(downloadElement)
      downloadElement.click() //点击下载
      document.body.removeChild(downloadElement) //下载完成移除元素
      window.URL.revokeObjectURL(href) //释放掉blob对象
      loading.close()
    })
    .catch(() => {
      loading.close()
    })
}